Data Annotation এবং Validation

Microsoft Technologies - এএসপি ডট নেট এমভিসি (ASP.Net MVC) মডেল (Models) |
247
247

ASP.Net MVC-তে Data Annotation এবং Validation গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলি ব্যবহারকারীর ইনপুটের সঠিকতা পরীক্ষা করতে সাহায্য করে। এই প্রযুক্তি ব্যবহার করে ডেভেলপাররা মডেল ক্লাসের মধ্যে ডেটা ভ্যালিডেশন সহজে সংজ্ঞায়িত করতে পারেন এবং ফর্ম সাবমিশন বা মডেল বাইন্ডিংয়ের সময় ডেটার সঠিকতা নিশ্চিত করতে পারেন।


Data Annotation কী?

Data Annotation একটি লেবেল বা অ্যাট্রিবিউটের মাধ্যমে মডেল ক্লাসে ডেটার বৈধতা সংজ্ঞায়িত করার একটি পদ্ধতি। Data Annotation ব্যবহার করে বিভিন্ন প্রকারের বৈধতা, যেমন Required, StringLength, Range, EmailAddress, ইত্যাদি, মডেল ক্লাসে সহজেই প্রয়োগ করা যায়।

Data Annotation-এর মাধ্যমে মডেল ক্লাসে অ্যাট্রিবিউট ব্যবহার করা হয় যা ডেটার বৈধতা এবং ফর্ম্যাট নির্ধারণ করে। এটি C# কোডের মধ্যে যুক্ত থাকে এবং একে অপরের সাথে সম্পর্কিত থাকে।


Data Annotation অ্যাট্রিবিউটগুলির কিছু উদাহরণ

1. Required

এই অ্যাট্রিবিউটটি একটি প্রোপার্টি বা ফিল্ডের জন্য প্রয়োজনীয়তা নির্দেশ করে, অর্থাৎ, ফিল্ডটি শূন্য হতে পারবে না।

public class Student
{
    [Required(ErrorMessage = "Name is required")]
    public string Name { get; set; }
}

2. StringLength

এই অ্যাট্রিবিউটটি একটি স্ট্রিং ফিল্ডের দৈর্ঘ্য সীমাবদ্ধ করতে ব্যবহার করা হয়।

public class Student
{
    [StringLength(50, ErrorMessage = "Name cannot be longer than 50 characters")]
    public string Name { get; set; }
}

3. Range

এই অ্যাট্রিবিউটটি একটি ফিল্ডের জন্য মানের সীমা নির্ধারণ করে। যেমন, সংখ্যার জন্য একটি নির্দিষ্ট পরিসীমা সেট করা।

public class Product
{
    [Range(1, 100, ErrorMessage = "Price must be between 1 and 100")]
    public decimal Price { get; set; }
}

4. EmailAddress

এই অ্যাট্রিবিউটটি একটি স্ট্রিং ফিল্ডের জন্য বৈধ ইমেল ঠিকানা যাচাই করতে ব্যবহৃত হয়।

public class User
{
    [EmailAddress(ErrorMessage = "Invalid Email Address")]
    public string Email { get; set; }
}

5. Compare

এই অ্যাট্রিবিউটটি দুটি প্রপার্টির মান তুলনা করার জন্য ব্যবহৃত হয়, সাধারণত পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড ক্ষেত্রের জন্য।

public class User
{
    public string Password { get; set; }
    
    [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
    public string ConfirmPassword { get; set; }
}

Validation কী?

Validation হল ডেটা যাচাই করার প্রক্রিয়া যা মডেল ক্লাসের ডেটা সঠিক এবং মেনে চলে কিনা তা নিশ্চিত করে। ASP.Net MVC-তে Model Validation এর মাধ্যমে, মডেল বাইন্ডিং-এর সময় Data Annotations দ্বারা নির্ধারিত শর্তাবলী অনুযায়ী ইনপুট যাচাই করা হয়। মডেল বৈধ হলে ডেটাবেসে সংরক্ষণ করা হয়, অন্যথায় ব্যবহারকারীকে ত্রুটি বার্তা দেখানো হয়।


মডেল ভ্যালিডেশন প্রক্রিয়া

  1. ভ্যালিডেশন চেক
    যখন ব্যবহারকারী ফর্ম সাবমিট করেন, তখন মডেল বাইন্ডার ডেটা ইনপুটের সঙ্গে মডেল প্রপার্টি বাউন্ড করে এবং Data Annotation অ্যাট্রিবিউটগুলি যাচাই করে।
  2. ভ্যালিডেশন ফলাফল
    যদি ইনপুটটি বৈধ হয়, তাহলে কন্ট্রোলারটি সেই ইনপুটটি গ্রহণ করে এবং পরবর্তী প্রসেসিং করতে পারে। তবে যদি কোন ভুল থাকে, তাহলে ModelState.IsValid চেক করে ভ্যালিডেশন ফলাফল নির্ধারণ করা হয়।

মডেল ভ্যালিডেশন কন্ট্রোলারে ব্যবহার

কন্ট্রোলারে ModelState.IsValid চেক করে ইনপুটের বৈধতা পরীক্ষা করা হয়। যদি মডেল বৈধ না হয়, তাহলে ডেটা আবার ভিউতে পাঠানো হয় এবং ত্রুটি বার্তা দেখানো হয়।

public class UserController : Controller
{
    [HttpPost]
    public ActionResult Register(User user)
    {
        if (ModelState.IsValid)
        {
            // ডেটা সেভ করুন
            return RedirectToAction("Success");
        }
        else
        {
            // ত্রুটি বার্তা সহ ভিউ রিটার্ন করুন
            return View(user);
        }
    }
}

কাস্টম ভ্যালিডেশন (Custom Validation)

ASP.Net MVC-তে আপনি Custom Validation তৈরি করতে পারেন, যেখানে আপনার নিজস্ব লজিক ব্যবহার করে ডেটা যাচাই করা হয়। এজন্য একটি কাস্টম ভ্যালিডেশন অ্যাট্রিবিউট তৈরি করতে হয়।

কাস্টম ভ্যালিডেশন অ্যাট্রিবিউট উদাহরণ:

public class AgeValidation : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        int age = (int)value;
        if (age < 18)
        {
            return false;
        }
        return true;
    }
}

public class User
{
    [AgeValidation(ErrorMessage = "Age must be 18 or older")]
    public int Age { get; set; }
}

সারমর্ম

ASP.Net MVC-তে Data Annotation এবং Validation ব্যবহার করে আপনি সহজেই ইনপুট যাচাই করতে পারেন, যা অ্যাপ্লিকেশনের নিরাপত্তা এবং ডেটা সঠিকতার জন্য অপরিহার্য। Data Annotation দিয়ে মডেল ক্লাসে ভ্যালিডেশন শর্তাবলী নির্ধারণ করা যায় এবং ModelState ব্যবহার করে কন্ট্রোলার থেকে ইনপুট যাচাই করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion